// pages/singer/singer.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    isopen:false,//折叠状态
    singerdata:{},//当前歌手数据
    singerdetail:{},//歌手详情
    hotmusiclist:{},//歌手热门歌曲
  },
  getopen(){//点击更改折叠状态
    this.setData({
      isopen:!this.data.isopen
    })
    //console.log(this.data.isopen)
  },
  getdetail(){//页面详细数据的获取
    let id=this.data.singerdata.data.id
    //console.log(id)
    //通过ID来做数据请求
    wx.request({
      url: `http://localhost:3000/artist/detail?id=${id}`,
      success:(res)=>{
        //console.log(res)
        this.setData({
          singerdetail:res
        })
      }
    })
  },

  gethotmusiclist(){//歌手热门歌曲
    let id=this.data.singerdata.data.id
    //console.log(id)
    //通过ID来做数据请求
    wx.request({
      url: `http://localhost:3000/artist/top/song?id=${id}`,
      success:(res)=>{
        //console.log(res)
        this.setData({
          hotmusiclist:res.data.songs
          
        })
        //console.log(this.data.hotmusiclist)
      }
    })
  },

  playlink(event){//点击跳转play页面
    //console.log(event.currentTarget.dataset.index)
    const index=event.currentTarget.dataset.index
    const musicdata=this.data.hotmusiclist
    //console.log(musicdata)
    //考虑到切换歌曲所以需要把最新歌曲都传递过去
    //获取歌曲id
    const mid=musicdata[index].id
    wx.request({//该请求判断是否能播放 能播放执行数据传输 不能播放提示无版权!
      url: `http://localhost:3000/check/music?id=${mid}`,
      success:(res)=>{
        if(res.data.message=='ok'){
          //console.log('可以播放')
          const objdata={}//创建一个空数据对象
          objdata.musicdata=musicdata
          objdata.nowindex=index//将上方最新歌曲列表与当前下标加入该空对象

          //跳转页面和数据传递
          wx.navigateTo({//传参方式，看文档
            url: '/pages/play/play',
            success:(res)=>{
              // 通过 eventChannel 向被打开页面传送数据
              res.eventChannel.emit('acceptDataFromOpenerPage', { data: objdata })
            }
          })
        }else{
          //console.log('亲,暂无版权')
          wx.showToast({
            title: '亲,暂无版权',
            mask:'true',
          })
        }
      },
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //获取首页传递过来的歌手基本数据并存储
    const eventChannel = this.getOpenerEventChannel()
    // 监听 acceptDataFromOpenerPage 事件，获取上一页面通过 eventChannel 传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', data=> {
      //console.log(data)
      this.setData({
        singerdata:data
      })
    })
    //调用函数渲染页面
    this.getdetail()
    this.gethotmusiclist()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})